namespace OracleInternal.TTC
{
	internal class AQMessage
	{
		private MarshallingEngine m_mEngine;

		internal AQMessage(MarshallingEngine mEngine)
		{
			m_mEngine = mEngine;
		}

		internal void Receive()
		{
			m_mEngine.UnmarshalSB4();
			m_mEngine.UnmarshalSB4();
			m_mEngine.UnmarshalSB4();
			int num = (int)m_mEngine.UnmarshalUB4();
			if (num > 0)
			{
				byte[] array = new byte[num];
				int[] array2 = new int[1];
				m_mEngine.UnmarshalCLR(array, 0, array2, array.Length);
				_ = array2[0];
			}
			m_mEngine.UnmarshalSB4();
			int num2 = (int)m_mEngine.UnmarshalUB4();
			if (num2 > 0)
			{
				byte[] array3 = new byte[num2];
				int[] array4 = new int[1];
				m_mEngine.UnmarshalCLR(array3, 0, array4, array3.Length);
				_ = array4[0];
			}
			m_mEngine.UnmarshalSB4();
			if (m_mEngine.UnmarshalSB4() > 0)
			{
				byte[] bytes = new byte[7];
				int[] intArray = new int[1];
				m_mEngine.UnmarshalCLR(bytes, 0, intArray, 7);
			}
			if (m_mEngine.NegotiatedTTCVersion >= 3)
			{
				int num3 = (int)m_mEngine.UnmarshalUB4();
				if (num3 > 0)
				{
					byte[] array5 = new byte[num3];
					int[] intArray2 = new int[1];
					m_mEngine.UnmarshalCLR(array5, 0, intArray2, array5.Length);
				}
			}
			int num4 = (int)m_mEngine.UnmarshalUB4();
			if (num4 > 0)
			{
				byte[][] textValues = new byte[num4][];
				int[] textValuesLength = new int[num4];
				byte[][] binaryValues = new byte[num4][];
				int[] keywords = new int[num4];
				m_mEngine.UnmarshalKPDKV(textValues, textValuesLength, binaryValues, keywords);
			}
			if (m_mEngine.NegotiatedTTCVersion >= 3)
			{
				m_mEngine.UnmarshalUB4();
				m_mEngine.UnmarshalUB4();
				m_mEngine.UnmarshalUB4();
				if (m_mEngine.NegotiatedTTCVersion >= 4)
				{
					m_mEngine.UnmarshalUB4();
				}
			}
		}
	}
}
